The present disclosure describes systems and techniques relating to management of an address space for large caches.
A storage server system, such as a SAN (Storage Area Network) or NAS (Network-Attached Storage), has the primary purpose of providing shared storage that can be accessed by computers attached to the server through a network. A typical storage server is designed to serve as storage to many (10s or 100s or even 1000s) computers. What a computer attached to the storage server sees as a physically contiguous space is really composed of many physically disparate chunks of storage. The multiple physically disparate chunks of storage may be disks or disk partitions aggregated together as redundant array of inexpensive disks (RAID) devices.
A solid state disk (SSD) can be used as a large cache in front of a disk array. Most disk arrays or RAID controllers have some cache on them already to help with performance, but in comparison to an SSD these are relatively small. With SSD the memory available to cache can expand to 64-256 GB or more. This makes the likelihood of a cache miss significantly lower. In addition, using SSD as a large cache can help to fix a performance problem more cost effectively than adding more mechanical drives or replacing those drives with faster drives.